home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Language/OS - Multiplatform Resource Library
/
LANGUAGE OS.iso
/
presto
/
presto10.lha
/
src
/
c.h
< prev
next >
Wrap
C/C++ Source or Header
|
1991-12-11
|
2KB
|
82 lines
#ifndef __presto__c_h__
#define __presto__c_h__
/* C linkage */
#include <stddef.h>
#include <sys/types.h>
#include <string.h>
#include <stdlib.h> /* <libc.h> <malloc.h> */
#include <osfcn.h>
#include <sys/wait.h>
/* system call and library function declarations (libc) */
extern "C" {
int nargs();
#ifdef __DECCXX
void bcopy(const void *, void *, int);
#else
int rename(char *, char *);
#endif /* __DECCXX */
int cpus_online();
char *shmalloc(long s);
void shfree(char *);
}
#ifdef sequent
#include "parallel.h"
// We need an slock_t throughout the C++ code. However,
// it also needs to exist in the prepended assembler
// macro file, where it is typedef'ed. To avoid multiple
// typedef conflicts, we use #define here, and leave the
// macro header as is.
#define slock_t unsigned char
extern "C" {
int getpagesize();
int mmap(caddr_t, int, int, int, int, off_t);
int tmp_affinity (int);
}
#endif /* sequent */
/* local C functions */
extern "C" {
int disable_interrupts();
void enable_interrupts();
char *grab_nonmalloc_hunk(int);
int init_stack(void *, int *);
void preempt_reentry();
}
/* Deal with bletcherous incompatibility between
dynix's sigvec handler and the POSIX (?) one
*/
#ifdef mips
#define sigvec_handler_t void
#else
#define sigvec_handler_t int
#endif
/* DEC's C++ doesn't provide any useful
typedef's or defines for signal handling
functions. This is taken from AT&T's
C++ 2.1 sys/signal.h header prototype.
*/
#ifdef __DECCXX
typedef void SIG_FUNC_TYP(int);
typedef SIG_FUNC_TYP *SIG_TYP;
#define SIG_PF SIG_TYP
#endif /* __DECCXX */
#endif /* __presto__c_h__ */